#ifndef DEBUG_VIEW_CONTEXT_HPP
#define DEBUG_VIEW_CONTEXT_HPP

#include <windows.h>
#include <sstream>
#include <string>

class Context{};
Context LOG()
{
    return Context();
}
const wchar_t END = L'\n';
std::wostringstream oss;

void OutputDebugStringW_inherited(const std::wstring& log)
{
    static std::wstring static_wstring;
    static_wstring += log;
    oss.str(L"");
    if( static_wstring[static_wstring.length() - 1] == L'\n'){
        OutputDebugStringW(static_wstring.c_str());
        static_wstring.clear();
    }
}



template<class T>
const Context& operator<<( const Context& context, const T& value)
{
    oss << value;
    OutputDebugStringW_inherited(oss.str());
    return context;
}

#endif


    
